package cn.tedu.telecom.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.alibaba.fastjson.JSON;

import cn.tedu.telecom.mapper.TelecomMapper;
import cn.tedu.telecom.pojo.Telecom;
@Controller
public class IndexController {
	
	@Autowired
	private TelecomMapper mapper;
	
	//首页控制器
	@RequestMapping("/index")
	public ModelAndView index(String tab,String date ,String type) {
		ModelAndView view =new ModelAndView("index");
		//判断当前tab 参数是否查询   网站表现
		boolean isWebSite ="website".equals(tab);
		//判断当前tab 参数是否查询   上网能力
		boolean isVillage ="village".equals(tab);
		//判断当前tab 不是查询   上网能力和  网站表现，则认为选择应用欢迎度
		boolean isApp =isWebSite ==false && isVillage ==false;
		view.addObject("iw", isWebSite);
		view.addObject("iv", isVillage);
		view.addObject("ia", isApp);
		
		//判断当前type 参数是否查询   上行流量
		boolean isUp ="up".equals(type);
		///判断当前type 参数是否查询  下行流量
		boolean isDown ="down".equals(type);
		//判断当前type 不是查询   上行流量和下行流量     则认为总流量
		boolean isTotal =isUp ==false && isDown ==false;
		view.addObject("iu", isUp);
		view.addObject("id", isDown);
		view.addObject("it", isTotal);
		
		//日期
		if(date == null ) {date="0000-00-00";}//日期默认值：0000-00-00
		view.addObject("d", date);
		
		//小标题
		String title ="应用大类";
				if(isVillage) {
					title+="小区上网能力";
				}else if(isWebSite) {
					title+="网站表现";
				}
				if(isUp) {
					title+="上行流量";
				}else if(isDown) {
					title+="下行流量";
				}else {
					title+="总流量";
				}
		view.addObject("t", title);
		
		if(isApp) {
			//应用欢迎度
			List<Telecom> telecoms =mapper.findAndTotal(type,date);
			String data = JSON.toJSONString(telecoms);
			view.addObject("data",data);
			//将Java 的List集合中的所有的name 转换为饼状图的图例
			List<String> legends =new ArrayList<String>();
			for(Telecom telecom : telecoms) {
				legends.add(telecom.getName());
			}
			String ls =JSON.toJSONString(legends);
			view.addObject("ls", ls);
		}
				
		if(isWebSite) {
			//网站表现
			List<Telecom> telecoms =mapper.findAndweb(type,date);
			String data = JSON.toJSONString(telecoms);
			view.addObject("data",data);
			//将Java 的List集合中的所有的name 转换为饼状图的图例
			List<String> legends =new ArrayList<String>();
			for(Telecom telecom : telecoms) {
				legends.add(telecom.getName());
			}
			String ls =JSON.toJSONString(legends);
			view.addObject("ls", ls);
		}
		
		if(isVillage) {
			//小区上网能力
			List<Telecom> telecoms =mapper.findAndvillage(type,date);
			String data = JSON.toJSONString(telecoms);
			view.addObject("data",data);
			//将Java 的List集合中的所有的name 转换为饼状图的图例
			List<String> legends =new ArrayList<String>();
			for(Telecom telecom : telecoms) {
				legends.add(telecom.getName());
			}
			String ls =JSON.toJSONString(legends);
			view.addObject("ls", ls);
		}
		
		return view;
	}

}
